1. Field of the Invention
This invention relates to operation of automated data processing equipment and more specifically to automated data processing equipment that utilizes multiple cooperating processors.
2. Description of Related Art
Automated data processing applications often execute on processing systems that have multiple processors. These multiple processors are frequently organized as groups and all of the members or nodes within the group operate in a cooperative manner. An example of a tightly integrated group of processors is a multiple processor computing cluster. One or more of these processors within a group can be referred to as a “node,” where a node is defined as one or more processors that are executing a single operating system image. A node that is part of a group is referred to herein as a member of the group or a member node. The various members within a group are connected by a data communications system that supports data communications among all of the group members.
The members within a group are sometimes divided among different physical locations. A particular member that is part of a physically dispersed group generally has direct access to resources, such as data storage devices, printers, and other shared peripheral devices, that are co-located with that member. The resources that are used in current group operations are referred to as primary resources. The multiple members that are physically located at the same location are often able to all have access to and in some instances control peripheral devices located at the same location. These groups sometimes maintain redundant resources that contain duplicates of a primary resource and that can be quickly configured to become primary resources if required. Maintaining redundant resources in a group avoids single point failures for the group's operation.
A group that has a number of members typically defines one member to be a primary member for that group. The primary member is the primary point of access for the group and hosts the resources managed by the group. Other members within the group that are properly configured to be able to assume functions of the primary member, i.e., nodes that have their resources properly configured to assume the functions of the primary member, are referred to as backup members. In one example backup member may host redundant resources. In another example, a backup member may have access to primary resources that are normally hosted by the primary member. If a primary member fails, a backup member assumes the role of the primary member. When a backup member assumes the primary member functions, it either takes over the resources of the previous primary member or changes its redundant resources to be primary resources.
Communications among the members of a group is typically performed by a standard communications mechanism. Groups of members typically communicate via a group messaging mechanism that ensures that all members of the group receive all of the messages in the exact same order as all of the other members of the group. These group messaging techniques assume that all nodes require the same information as all other nodes and do not directly support asymmetries among group members. This is a particular impediment when trying to bring a new member into a group. Group communications mechanisms do not include a means to provide a new member with configuration data that would allow the new member to properly configure its resources so as to be able to become a backup member. This has resulted in the development of non-standard mechanisms for bringing new members into a group.
Therefore a need exists to overcome the problems with the prior art as discussed above, and particularly for a way to more efficiently allow members to enter a computing group.